.NET Framework Class Library |
TaskFactory<(Of <(TResult>)>)..::.ContinueWhenAny Method (array<Task>[]()[], Func<(Of <(Task, TResult>)>), CancellationToken, TaskContinuationOptions, TaskScheduler) |
TaskFactory<(Of <(TResult>)>) Class See Also Send Feedback |
Creates a continuation Task
that will be started upon the completion of any Task in the provided set.
Namespace:
System.Threading.Tasks
Assembly:
System.Threading (in System.Threading.dll)
Syntax
Visual Basic (Declaration) |
---|
Public Function ContinueWhenAny ( _ tasks As Task(), _ continuationFunction As Func(Of Task, TResult), _ cancellationToken As CancellationToken, _ continuationOptions As TaskContinuationOptions, _ scheduler As TaskScheduler _ ) As Task(Of TResult) |
C# |
---|
public Task<TResult> ContinueWhenAny( Task[] tasks, Func<Task, TResult> continuationFunction, CancellationToken cancellationToken, TaskContinuationOptions continuationOptions, TaskScheduler scheduler ) |
Parameters
- tasks
- Type: array<
System.Threading.Tasks..::.Task
>[]()[]
The array of tasks from which to continue when one task completes.
- continuationFunction
- Type: System..::.Func<(Of <(Task, TResult>)>)
The function delegate to execute when one task in the tasks array completes.
- cancellationToken
- Type: System.Threading..::.CancellationToken
The CancellationToken that will be assigned to the new continuation task.
- continuationOptions
- Type: System.Threading.Tasks..::.TaskContinuationOptions
The TaskContinuationOptions value that controls the behavior of the created continuation Task.
- scheduler
- Type: System.Threading.Tasks..::.TaskScheduler
The TaskScheduler that is used to schedule the created continuation Task.
Return Value
The new continuation Task.Remarks
The NotOn* and OnlyOn* TaskContinuationOptions,
which constrain for which TaskStatus states a continuation
will be executed, are illegal with ContinueWhenAny.
Exceptions
Exception | Condition |
---|---|
System..::.ArgumentNullException | The exception that is thrown when the tasks array is null. |
System..::.ArgumentNullException | The exception that is thrown when the continuationFunction argument is null. |
System..::.ArgumentNullException | The exception that is thrown when the scheduler argument is null. |
System..::.ArgumentException | The exception that is thrown when the tasks array contains a null value. |
System..::.ArgumentException | The exception that is thrown when the tasks array is empty. |
System..::.ArgumentOutOfRangeException | The exception that is thrown when the continuationOptions argument specifies an invalid TaskContinuationOptions value. |
System..::.ObjectDisposedException | The exception that is thrown when one of the elements in the tasks array has been disposed. |
System..::.ObjectDisposedException | The provided CancellationToken has already been disposed. |